Machine learning system

ABSTRACT

Methods, systems, and computer program products are included for providing a predicted outcome to a user interface. An exemplary method includes receiving, from a user interface, a plurality of identifiers that identify objects. At the user interface, a target success function is selected corresponding to the plurality of identifiers. The target success function is mapped to at least one attribute of one or more attributes of the objects. The at least one attribute of the objects and one or more other attributes are queried. Data values are retrieved corresponding to the queried at least one attribute and the one or more other attributes. Based on the data values, an outcome of the target success function is predicted. The predicted outcome is provided to the user interface.

RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 15/138,307, filedApr. 26, 2016 and is hereby incorporated by reference in its entirety.

BACKGROUND Field of the Invention

The present disclosure generally relates to machine learning. Inparticular, the present disclosure relates to an input and analysissubsystems for a machine learning system.

Related Art

Machine learning is a field of computer science used for generatingdata-driven predictions. In many instances, the data-driven predictionsare generated based on complex models that have been developed by dataarchitects. These models may be developed by analyzinghistorical/training data using supervised learning techniques todetermine patterns corresponding to data. Traditionally, these machinelearning techniques are highly-technical and are thus targeted forexperts in the field of machine learning.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings.

FIG. 1 is a block diagram illustrating a system architecture fordetermining predictive outcomes using machine learning techniques, inaccordance with various examples of the present disclosure.

FIG. 2 is a block diagram illustrating a computer system suitable forimplementing one or more computing devices.

FIG. 3 is a flow diagram illustrating a machine learning technique, inaccordance with various examples of the present disclosure.

FIG. 4A is a block diagram illustrating a user interface suitable forselecting a plurality of identifiers, in accordance with variousexamples of the present disclosure.

FIG. 4B is a block diagram illustrating a plurality of customer objectsthat include identifiers and data values corresponding to attributes, inaccordance with various examples of the present disclosure.

FIG. 4C is a block diagram illustrating a user interface suitable forselecting a target success function, which is mapped to attributes ofone or more objects, in accordance with various examples of the presentdisclosure.

DETAILED DESCRIPTION

In the following description, specific details are set forth describingsome embodiments consistent with the present disclosure. It will beapparent, however, to one skilled in the art that some embodiments maybe practiced without some or all of these specific details. The specificembodiments disclosed herein are meant to be illustrative but notlimiting. One skilled in the art may realize other elements that,although not specifically described here, are within the scope and thespirit of this disclosure. In addition, to avoid unnecessary repetition,one or more features shown and described in association with oneembodiment may be incorporated into other embodiments unlessspecifically described otherwise or if the one or more features wouldmake an embodiment non-functional.

Various embodiments provide a system, method, and machine-readablemedium for receiving a selection of machine learning input parametersfrom a user, and responsive to receiving the machine learning inputparameters, outputting a predicted outcome. These embodiments usepre-configured mappings associated with the input parameters to simplifyuse of the machine learning techniques. The simplification of themachine learning techniques allows even non-technical users to inputparameters and receive predictive outcomes. Accordingly, the featuresdescribed herein provide a technical solution for simplifying access tomachine learning technology. The technical solution is implemented on atleast one computing device, and improves the functioning of thecomputing device by allowing the computing device to perform machinelearning techniques in a manner that is more accessible to non-technicalusers. This improved functioning may include accessing mapping datastructures to perform machine learning techniques using a reduced amountof user inputs.

In the present example, a user interface may be provided by a web-basedgraphical user interface. The web-based graphical user interface allowsusers to upload or select identifiers that correspond to objects of asame type. For example, a list of customers may be provided or selectedby a user. The list of customers may include identifiers such as thenames of the customers. Each customer name may be associated withcustomer attributes so that the customer name and the customerattributes together form a customer object.

The user interface may also provide one or more target success functionsthat may be selected or entered by a user. The target success functionmay be entered by a user selecting the target success function from alist or other user interface element. For example, using the previouslydiscussed example regarding a customer object, a target success functionmay correspond to a predictive outcome regarding each customer. In moredetail, a target success function may be selected to identify aprobability that each customer answers a phone, a time period in whicheach customer is most likely to answer a phone, whether phone contact islikely to result in a sale, or some other predictive outcomecorresponding to a customer.

Based on the selection, particular attributes corresponding to theobjects identified by the identifiers are provided to a machine learningcomponent. These attributes are selected based on a mapping between theattributes and the selected target success function. The mapping may beprovided by a data architect or other user to pre-configure targetsuccess functions to minimize knowledge/expertise needed by the users ofthe user interface. For example, with regard to the customer exampleabove, if the target success function is a likelihood that each customerpicks up the phone, the target success function may be mapped to anattribute for each customer that identifies whether the customerpreviously answered the phone. When the target success function isselected by a user, the attribute(s) mapped to the target successfunction are provided as input to a machine learning component withoutrequiring selection of the attributes by a user. Accordingly, even userswith minimal technical expertise may select identifiers and targetsuccess functions to generate predictive outcomes corresponding to theidentifiers.

The embodiments disclosed herein provide advantages to current machinelearning techniques. For example, advantages may result from thepre-configuration of user interface and machine learning componentsusing mappings/associations to simplify user inputs and render themachine learning techniques to be more accessible to non-technicalusers. In another example, advantages may result based on thepre-configuration using mappings/associations between object attributesand target success functions, allowing non-technical and technical usersalike to more quickly and efficiently determine predicted outcomes. Ofcourse, it is understood that these features and advantages are sharedamong the various examples herein and that no one feature or advantageis required for any particular embodiment.

FIG. 1 illustrates a system architecture 100 for determining predictiveoutcomes using machine learning techniques, in accordance with variousexamples of the present disclosure.

System architecture 100 includes a first computing device 102. In someexamples, the first computing device 102 is structured as a clientdevice. The first computing device 102 may represent a single computingdevice or multiple computing devices. For example, the first computingdevice 102 may be structured as a cluster of computing devices.

The first computing device 102 is structured with a user interfacefront-end 104 that is configured to provide a display for one or moreusers. In some examples, the user interface front-end 104 includes a webbrowser or other application (such as an “app” on a mobile device) thatis configured to send and receive information via a network. In thepresent example, the user interface front-end 104 is structured withgraphical user interface elements that allow a user to input parametersfor a machine learning component 114 and receive output from the machinelearning component 114. The user interface front-end 104 is structuredto display the output via a display such as a monitor. An examplefront-end user interface is discussed in more detail with respect toFIGS. 4A, 4B and 4C.

In the present example, input parameters may include user selection ofone or more object identifiers and at least one target success function.In some examples, the identifiers of the objects are selected from apre-configured list displayed by the user interface front-end 104. Inother examples, the identifiers of the objects are selected from a datastore of the first computing device using a dialogue provided by theuser interface front-end 104. The user interface front-end 104 may allowthe selection of the target success function from a list of one or moretarget success functions. The user interface front-end 104 is furtherstructured to pass the objects corresponding to the selected identifiersand the selected target success function to the user interface back-end110 via a network 106.

In some examples, objects represent customers, products, or merchants.Each object may include an identifier that identifies the object. Forexample, an identifier of a customer object may include the customer'sname. In another example, a product may be identified by a product nameor by a unique serial number. Similarly, a merchant may be identified bya merchant name.

In the present example, each object identified by an identifier isstructured to include one or more attributes that further define theobject. For example, a customer object may further include one or moreattributes identifying prior purchases by the customer, marketingefforts corresponding to the customer, and/or other informationcorresponding to the customer.

Turning now to the target success function, the target success functionmay identify a predictive outcome such as a propensity and/or predictionthat a user would like to determine for one or more objects. Forexample, the user interface front-end 104 may display a selectabletarget success function for determining the likelihood that one or morecustomers respond in a particular way to a marketing effort, purchase aproduct, or have some other propensity for a particular action.

In some examples, users may configure one or more target successfunctions via the user interface front-end 104. In other examples, theuser interface front-end 104 is pre-configured with the one or moresuccess functions. In more detail regarding a target success function, asuccess function may be structured as an element that is displayed to auser, where the selection of the element causes one or more attributesof the objects to be passed to the user interface back-end 110. Forexample, the target success function may be structured as a label thatis selectable to provide one or more attributes of the selected objectsto the user interface back-end 110.

In the present example, the first computing device 102 iscommunicatively coupled to other computing devices that form a network106. The network 106 may include one or more network computing devicesthat are communicatively coupled via transport media to communicatesignals between the first computing device 102 and another computingdevice, such as the second computing device 108, which in some examplesis structured as a server device. The second computing device 108 mayrepresent a single computing device or multiple computing devices. Forexample, the second computing device 108 may be structured as a clusterof computing devices.

The first computing device 102 and the second computing device 108 eachinclude computer hardware elements. Computer hardware elements of eachcomputing device include physical elements such as one or moreprocessors, one or more memories, and a network interface tocommunicatively couple the computing devices to the network 106. As anexample, a network interface may include a network interface card (NIC).Computing device hardware elements that provide hardware structure tothe computing devices are further described with respect to FIG. 2 .

The second computing device 108 is structured to include a userinterface back-end 110. The user interface back-end 110 is structured toreceive input parameters from the user interface front-end 104 of thefirst computing device 102 and, responsive to receiving the inputparameters, provide a predictive outcome output to the user interfacefront-end 104. In some examples, the user interface back-end 110 isstructured as a web server, which communicates with the user interfacefront-end 104 using the Hypertext Transfer Protocol (HTTP) and/or othernetwork protocol.

The user interface back-end 110 may receive objects from the firstcomputing device 102 for storage in an object data store 112. Forexample, objects may be selected for upload to the object data store 112by the user interface front-end 104. Accordingly, the user interfaceback-end 110 is communicatively coupled to the object data store 112.

In the present example, the object data store 112 is structured as oneor more databases, flat files, or any other suitable data storageelements. For example, the object data store 112 may be structured as arelational database such as an SQL database. In another example, theobject data store 112 may be structured as an XML, database. In moredetail, the object data store 112 may be structured to store objectsaccording to a particular format, such as by storing each object in arow, with a first column configured to store an identifier that is aprimary key for each object, and with one or more other columns that areconfigured to store data values corresponding to each of the attributesof the objects. In other examples, the object data store 112 may beformatted and/or structured to store objects in other ways.

In the present example, the system 100 includes a machine learningcomponent 114 that is structured to receive data values corresponding toattributes from the user interface back-end 110 and/or the object datastore 112. As previously described, input parameters received from theuser interface front-end 104 via the user interface back-end 110 mayinclude one or more objects, identifiers corresponding to the objects, atarget success function, identification of one or more object attributesby the target success function, and so forth. The user interfaceback-end 110 may pass these received input parameters (or references tothese parameters in the object data store 112) to the machine learningcomponent 114 for performance of machine learning techniques.

In some examples, the machine learning component 114 is structured toprocess the input parameters using one or more machine learningalgorithms. Examples of machine learning algorithms include, but are notlimited to, regression algorithms, dependent variable algorithms,Bayesian algorithms, clustering algorithms, neural network algorithms,and/or other algorithms. These algorithms may be customized forparticular target success functions by processing training data usingsupervised learning techniques.

In the present example, the machine learning component 114 is structuredto evaluate the existing attributes of the objects present in the objectdata store 112 based on pre-configuration and/or machine learningtechniques that are relevant for determining a predictive outcome. Themachine learning component may include additional associations of targetsuccess functions to attributes, such that data values corresponding toattributes not identified by the user interface front-end 104 may alsobe input into the machine learning algorithm. For example, a selectedtarget success function for determining a likelihood of a customer forbuying a product may include a mapping to one or more attributes thatidentify previous purchases of the customer. Accordingly, the machinelearning component 114 is structured to generate a predictive outcome byprocessing both input parameters received from a user and also otherinput parameters that the machine learning component 114 has associatedwith a target success function.

The machine learning component 114 is structured to output thepredictive outcome to the user interface back-end 110, which isstructured to relay the predictive outcome to the user interfacefront-end 104 for displaying the predictive outcome to a user. Anexample process for receiving input parameters and generating apredictive outcome is described in more detail with respect to FIG. 3 .

While two computing devices are illustrated in the present example, inother examples there may be a single computing device or more than twocomputing devices. For example, the user interface front-end 104, userinterface back-end 110, object database 112, and machine learningcomponent 114 may also be implemented on a single computing device.Various components may also be combined. For example, if the techniquesare implemented on a single computing device, the user interfacefront-end 104 and the user interface back-end 110 may be combined into asingle application or module.

FIG. 2 illustrates a computer system 200 suitable for implementing oneor more computing devices of a computing system (e.g., the firstcomputing device 102 and the second computing device 108). In variousimplementations, computer system 200 may structure a computing device asa smart or mobile phone, a computing tablet, a desktop computer, laptop,wearable device, or rack mount server.

Computer system 200 may include a bus 202 or other communicationmechanisms for communicating information data, signals, and informationbetween various components of computer system 200. Components include anI/O component 204 that processes a user action, such as selecting keysfrom a keypad/keyboard, selecting one or more buttons, links, actuatableelements, etc., and sends a corresponding signal to bus 202. I/Ocomponent 204 may also include an output component, such as a display206 and a cursor control 208 (such as a keyboard, keypad, mouse, touchscreen, etc.). An optional audio I/O component 210 may also be includedto allow a user to hear audio and/or use voice for inputting informationby converting audio signals.

A network interface 212 transmits and receives signals between computersystem 200 and other devices, such as user devices, data servers, and/orother computing devices via a communications link 214 and a network 216(e.g., such as a LAN, WLAN, PTSN, and/or various other wired or wirelessnetworks, including telecommunications, mobile, and cellular phonenetworks).

The processor 218 represents one or more general-purpose processingdevices such as a microprocessor, central processing unit, or the like.More particularly, processor 218 may be a complex instruction setcomputing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. Processor 108 may alsobe one or more special-purpose processing devices such as an applicationspecific integrated circuit (ASIC), a field programmable gate array(FPGA), a digital signal processor (DSP), network processor, or thelike. Processor 218 is configured to execute instructions for performingthe operations and steps discussed herein.

Components of computer system 200 also include a main memory 220 (e.g.,read-only memory (ROM), flash memory, dynamic random access memory(DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR SDRAM),or DRAM (RDRAM), and so forth), a static memory 222 (e.g., flash memory,static random access memory (SRAM), and so forth), and a data storagedevice 224 (e.g., a disk drive).

Computer system 200 performs specific operations by processor 218 andother components by executing one or more sequences of instructionscontained in main memory 220. Logic may be encoded in a computerreadable medium, which may refer to any medium that participates inproviding instructions to processor 218 for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and/or transmission media. In various implementations,non-volatile media includes optical or magnetic disks, volatile mediaincludes dynamic memory, such as main memory 220, and transmission mediabetween the components includes coaxial cables, copper wire, and fiberoptics, including wires that comprise bus 202. In one embodiment, thelogic is encoded in a non-transitory machine-readable medium. In oneexample, transmission media may take the form of acoustic or lightwaves, such as those generated during radio wave, optical, and infrareddata communications.

Some common forms of computer readable media include, for example,floppy disk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EPROM,FLASH-EPROM, any other memory chip or cartridge, or any other mediumfrom which a computer is adapted to read.

In various embodiments of the present disclosure, execution ofinstruction sequences to practice the present disclosure may beperformed by computer system 200. In various other embodiments of thepresent disclosure, a plurality of computer systems 200 coupled bycommunication link 214 to the network 216 may perform instructionsequences to practice the present disclosure in coordination with oneanother. Modules described herein may be embodied in one or morecomputer readable media or be in communication with one or moreprocessors to execute or process the steps described herein.

FIG. 3 illustrates a machine learning technique, in accordance withvarious examples of the present disclosure. In some examples, the method300 is implemented by one or more processors executing computer-readableinstructions to perform the functions described herein. It is understoodthat additional steps can be provided before, during, and after thesteps of method 300, and that some of the steps described can bereplaced or eliminated in other examples of the method 300.

At action 302, a user interface receives a plurality of identifiers thatidentify objects of a particular type. In some examples, the pluralityof identifiers are received and uploaded to a data store. In otherexamples, the user interface displays identifiers that are alreadystored in a data store, and a user may select the plurality ofidentifiers from a list or other user interface element.

For example, as illustrated in FIG. 4A, an identifier selection userinterface element 402 may be displayed to a user that provides one ormore identifier options that may be selected. With respect to theexample illustrated in FIG. 4A, identifier options may include: DallasCustomers 404, Chicago Customers 406, and New York Customers 408. Inthis example, by selecting Dallas Customers 404, the user may select theplurality of identifiers of customers who are associated with the DallasCustomers 404 option.

In some examples, each of the selectable identifier options correspondsto a particular database or other data store. For example, eachidentifier option that may be selected may correspond to a plurality ofidentifiers stored in a database. For example, FIG. 4B illustrates anexample of a plurality of identifiers stored in a database that areassociated with the Dallas Customers 404 identifier option. In thisexample, the Dallas Customers 404 identifier option includes thefollowing identifiers 418: “John Smith,” “Sally Jones,” and “AlexBrown.” Each identifier identifies a customer object. As shown, each rowof the database stores a customer object that includes an identifier anddata values corresponding to attributes of the customer object.

In FIG. 4B, the first customer object is the row of the database tablethat includes the identifier “John Smith.” The customer objectidentified by the “John Smith” identifier includes a data value of “5”corresponding to the number of calls attribute 420, a data value of “4”corresponding to the calls answered attribute 422, and a data value of“0” corresponding to the products purchased attribute 424.

In FIG. 4B, the second customer object is the row of the database tablethat includes the identifier “Sally Jones.” The customer objectidentified by the “Sally Jones” identifier includes a data value of “6”corresponding to the number of calls attribute 420, a data value of “2”corresponding to the calls answered attribute 422, and a data value of“2” corresponding to the products purchased attribute 424.

In FIG. 4B, the third customer object is the row of the database tablethat includes the identifier “Alex Brown.” The customer objectidentified by the “Alex Brown” identifier includes a data value of “3”corresponding to the number of calls attribute 420, a data value of “3”corresponding to the calls answered attribute 422, and a data value of“2” corresponding to the products purchased attribute 424.

Each identifier may uniquely identify an object. In some examples, theidentifier is configured as a primary key that may be used to locate oneor more attributes corresponding to the object. Each object may includedata values corresponding to the one or more attributes of the object.Objects of a same type may include a same data structure. For example,all customer objects may include an identifier and the same attributes.Accordingly, each object may differ in the data values that are assignedto the object identifier and object attributes.

Particular examples of the same type of objects include a plurality ofcustomer objects, a plurality of merchant objects, or a plurality ofproduct objects. For example, a plurality of customer objects may eachinclude a same set of attributes used to describe the customers, whereeach object corresponds to a different customer. In another example,objects of a same type may include a plurality of objects correspondingto merchants, where each object corresponds to a different merchant. Inyet another example, objects of a same type may include a plurality ofobjects corresponding to products, where each object corresponds to adifferent product.

In some examples, objects may be anonymized to restrict access toinformation included in the objects such as object identifiers and/orobject attributes. In some examples, the anonymization may includereplacing at least some object identifiers and/or attributes withrandomly or pseudo-randomly generated data. For example, a customerobject may include a customer name as an identifier and one or morecustomer attributes that include data values that specify a customersocial security number, phone number, and/or address. The identifierand/or the one or more data values corresponding to customer attributesmay be removed and/or replaced with other data. The identifiers and/ordata values may be selectively anonymized by a user to anonymizesensitive data while leaving in place data values corresponding to otherattributes that are used by a target success function.

Returning now to the discussion of FIG. 3 , at action 304, the userinterface receives a selection of a target success functioncorresponding to the plurality of identifiers. In some examples, thetarget success function may be a pre-configured target success functionthat is displayed to a user for selection via a label, list or othergraphical user interface element.

For example, as illustrated in FIG. 4C, a target success function userinterface element 410 may be displayed to a user that provides one ormore target success function options that may be selected. For example,each target success function may correspond to a particular predictedoutcome. With respect to FIG. 4C, the target success functions that auser may select are the probability that each customer will answer aphone 412, the probability that each customer will purchase a product414, and the best time to contact each customer 416.

In other examples, the target success function may be configured forselection by a user on an as-needed basis. For example, the userinterface may include a text box graphical user interface element wherea user may input a text string that identifies a target success functionand its associated parameters. In more detail, the text string mayinclude an SQL query string that identifies particular attributes ofobjects that a user intends to pass to a machine learning component.

Returning now to the discussion of FIG. 3 , at action 306, the userinterface maps the selected target success function to at least oneattribute of one or more attributes of the objects. The success functionattributes mapped to a target success function may be pre-configured,such that the mapping is performed at a back-end that is not displayedby a user. For example, a data architect may configure a plurality oftarget success functions that each are associated with particularattributes of objects. Accordingly, target success functions may beselected by a user at a user interface without the user having toidentify the attributes of the objects to input into a machine learningcomponent. However, in other examples, users may be provided userinterface elements to configure target success functions and/or maptarget success functions to particular attributes.

For example, as illustrated in FIG. 4C, the target success function todetermine the probability that each customer will answer a phone 412 ismapped to/associated with the number of calls attribute 420 and thecalls answered attribute 422. Thus, by selecting the probability thateach customer will answer a phone 412 target success function, thenumber of calls attribute 420 and the calls answered attribute 422 areselected as attributes to provide to a machine learning component.

A mapping may include any association of a target success function withparticular attributes of objects. For example, a target success functionfor identifying a product that has a highest likelihood of marketsuccess may be associated with a current sales attribute of a pluralityof product objects. Accordingly, by selecting the target successfunction, the data values corresponding to the current sales attributeof the product objects may be input into a machine learning componentwithout requiring a user selection of the current sales attribute.Associations/mappings may be provided using data structures such aslists, tables, references, and so forth. In some examples, successfunction attributes are mapped to a success function by providing aquery string, such as an SQL statement, that includes the successfunction attributes as parameters.

Returning now to the discussion of FIG. 3 , at action 308, a userinitiates a query request using the user interface to retrieve successfunction attributes. The query performs a search of the data values thatare associated with the success function attributes that are mapped tothe selected success function. For example, as described in the aboveexample, a target success function may specify a current salesattribute. Accordingly, in this example, the data values correspondingto the current sales attribute may be queried from a plurality ofproduct objects.

In addition, one or more other attributes that are not mapped to atarget success function may also be queried. In more detail, otherattributes of the objects may be relevant for determining a predictiveresult. These other predictor attributes may be identified by a dataarchitect and/or machine learning component. Accordingly, these one ormore other predictor attributes may also be queried to obtain datavalues corresponding to these attributes. In some examples, the queriesare performed by a database management system (DBMS) to obtain the datavalues from a database or other data store.

The data values corresponding to the queried at least one successfunction attribute and the one or more other predictive attributes areretrieved. These data values may be retrieved by the user interface andprovided to a machine learning component. In other examples, the machinelearning component or other component may perform the query to retrievethe data values.

For example, with respect to the examples illustrated in FIG. 4B andFIG. 4C, if the target success function for the probability of eachcustomer answering the phone 412 is selected, the data values arequeried that correspond to the attributes for the number of calls 420and the calls answered 422. Thus, the query would locate the “5” and “4”data values corresponding to the “John Smith” identifier, the “6” and“2” data values corresponding to the “Sally Jones” identifier, and the“3” and “3” data values corresponding to the “Alex Brown” identifier.

Returning now to the discussion of FIG. 3 , at action 310, the machinelearning component processes the retrieved data values to predict anoutcome of the target success function for the plurality of identifiers.The machine learning component may be capable of non-discriminatory useof all attributes of the objects and their retrieved data values tobuild a prediction model best suited to predict the target successfunction outcomes. The machine learning component can include logic toselect the attributes of the objects that compose the best data set viaheuristic or other approaches. The machine learning component may bepre-configured by a data architect for the particular target successfunction. For example, a data architect may perform supervised learningtechniques to configure the machine learning component using trainingdata.

In some examples, success function attributes are structured asdependent variables that are used by the machine learning component fordetermining a predictive outcome, while the predictor attributes arestructured as independent variables that are used by the machinelearning component for determining the predictive outcome.

At action 312, the machine learning component determines a predictedoutcome corresponding to the target success function. In some examples,the predicted outcome is structured as a binary (yes/no) outcome, anincremental (positive/negative) outcome, a probability of success, arevenue amount, or other data value type. The predicted outcome mayfurther be associated with a confidence interval that identifies anestimated accuracy corresponding to the predicted outcome. Theconfidence interval may be based on analysis of historical outcomes bythe machine learning component using training data.

The user interface receives the predicted outcome, which may include theconfidence interval, and outputs one or both of these data values to theuser interface. Accordingly, the predicted outcome is displayed to oneor more users.

For example, with respect to FIG. 4B and FIG. 4C, if the probability ofa customer answering the phone 412 target success function is selected,the machine learning component may calculate that the customer “JohnSmith” has a ⅘ or 80% likelihood of answering the phone, that thecustomer “Sally Jones” has a 2/6 or 33% likelihood of answering thephone, and that the customer “Alex Brown” has a 3/3 or 100% likelihoodof answering the phone.

Certain examples of the present disclosure also relate to an apparatusfor performing the operations herein. This apparatus may be constructedfor the intended purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other examples will be apparentto those of skill in the art upon reading and understanding the abovedescription. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A system related to improved machine learningoutcomes for actions taken by individual persons, comprising: aprocessor; and a non-transitory computer-readable medium having storedthereon instructions that are executable by the processor to cause thesystem to perform operations comprising: causing display, on a userdevice, of a user interface configured to provide access to a pluralityof machine learning models; receiving, via the user interface, aselection of a target success function from a plurality of targetsuccess functions and identifications of a plurality of person dataobjects, wherein the target success function is configured to measure aprobability of occurrence of one or more specified computer-basedactions to be selected by a user via one or more hardware userinterfaces of a user computing device, and wherein each person dataobject in the plurality of person data objects corresponds to aparticular individual person and is associated with a set of attributes;identifying, from the plurality of machine learning models, a particularmachine learning model based on the selection of the target successfunction; determining a set of input parameters for using the particularmachine learning model; selecting, from the set of attributes associatedwith each of the plurality of person data objects, a subset ofattributes for using the particular machine learning model to performthe target success function based on the set of input parameters;obtaining, from the plurality of person data objects, attribute valuescorresponding to the subset of attributes; identifying, from theattribute values, a subset of attribute values usable to identify theplurality of person data objects; generating input values correspondingto the set of input parameters for using the particular machine learningmodel based on the attribute values and the subset of attribute values;generating, for each person data object in the plurality of person dataobjects, a corresponding prediction outcome by using the particularmachine learning model based on the input values; and providing, on theuser interface, the corresponding prediction outcomes for the pluralityof person data objects, wherein the corresponding prediction outcomesare indicative of probabilities of occurrence of the one or morespecified computer-based actions to be selected by corresponding usersassociated with the plurality of users person data objects via aplurality of hardware user interfaces of a plurality of user computingdevices.
 2. The system of claim 1, wherein the one or more specifiedcomputer-based actions to be selected by the corresponding users via theplurality of hardware user interfaces of the plurality of user computingdevices comprise the corresponding users selecting, via at least one ofa computer mouse or a touchscreen, one or more particular graphicalelements displayed on a plurality of web pages.
 3. The system of claim1, wherein the operations further comprise: anonymizing the attributevalues based on replacing the subset of attribute values withreplacement values, wherein the input values are generated based atleast in part on the replacement values; and storing a mapping betweenthe subset of attribute values and the replacement values.
 4. The systemof claim 1, wherein the subset of attributes includes a first attributethat is a dependent variable used by the particular machine learningmodel and a second attribute that is an independent variable used by theparticular machine learning model.
 5. The system of claim 1, wherein theoperations further comprise: providing, to the user interface, aconfidence level corresponding to the prediction outcomes.
 6. The systemof claim 1, wherein the operations further comprise presenting theplurality of target success functions on the user interface forselection by a user of the user device.
 7. The system of claim 1,wherein the set of attributes of a person data object includes a uniqueidentifier attribute for identifying a corresponding person, and a priortransaction attribute that specifies information regarding one or moreprevious electronic transactions conducted by the corresponding person.8. A non-transitory computer-readable medium having stored thereonmachine-readable instructions executable to cause a computer system toperform operations comprising: causing display, on a user device, of auser interface configured to provide access to a plurality of machinelearning models; receiving, via the user interface, a selection of atarget success function from a plurality of target success functions andidentifications of a plurality of person data objects, wherein thetarget success function is configured to measure a probability ofoccurrence of one or more specified computer-based actions to beselected by a user via one or more hardware user interfaces of a usercomputing device, and wherein each person data object in the pluralityof person data objects corresponds to a particular individual person andis associated with a set of attributes; identifying, from the pluralityof machine learning models, a particular machine learning model based onthe selection of the target success function; determining a set of inputparameters for using the particular machine learning model; selecting,from the set of attributes associated with each of the plurality ofperson data objects, a subset of attributes for using the particularmachine learning model to perform the target success function based onthe set of input parameters; obtaining, from the plurality of persondata objects, attribute values corresponding to the subset ofattributes; generating input values corresponding to the set of inputparameters for using the particular machine learning model based on theattribute values; generating, for each person data object in theplurality of person data objects, a corresponding prediction outcome byusing the particular machine learning model based on the input values;and providing, on the user interface, the corresponding predictionoutcomes for the plurality of person data objects, wherein thecorresponding prediction outcomes are indicative of probabilities ofoccurrence of the one or more specified computer-based actions to beselected by corresponding users associated with the plurality of persondata objects via a plurality of hardware user interfaces of a pluralityof user computing devices.
 9. The non-transitory computer-readablemedium of claim 8, wherein the one or more specified computer-basedactions to be selected by the corresponding users via the plurality ofhardware user interfaces of the plurality of user computing devicescomprise the corresponding users selecting, via at least one of acomputer mouse or a touchscreen, one or more particular graphicalelements displayed on a plurality of web pages.
 10. The non-transitorycomputer-readable medium of claim 8, wherein the input values aregenerated from the plurality of person data objects without requiringfurther inputs from a user of the user device.
 11. The non-transitorycomputer-readable medium of claim 8, wherein the subset of attributesincludes a first attribute that is a dependent variable used by theparticular machine learning model and a second attribute that is anindependent variable used by the particular machine learning model. 12.The non-transitory computer-readable medium of claim 8, wherein theoperations further comprise: providing, to the user interface, aconfidence level corresponding to the prediction outcomes.
 13. Thenon-transitory computer-readable medium of claim 8, wherein theoperations further comprise presenting the plurality of target successfunctions on the user interface for selection by a user of the userdevice.
 14. The non-transitory computer-readable medium of claim 8,wherein the set of attributes of a person data object includes a uniqueidentifier attribute for identifying a corresponding person, and a priortransaction attribute that specifies information regarding one or moreprevious electronic transactions conducted by the corresponding person.15. A method related to improved machine learning outcomes for actionstaken by individual persons, comprising: causing display, on a userdevice, of a user interface configured to provide access to a pluralityof machine learning models; receiving, via the user interface, aselection of a target success function from a plurality of targetsuccess functions and identifications of a plurality of person dataobjects, wherein the target success function is configured to measure aprobability of occurrence of one or more specified computer-basedactions to be selected by a user via one or more hardware userinterfaces of a user computing device, and wherein each person dataobject in the plurality of person data objects corresponds to aparticular individual person and is associated with a set of attributes;identifying, from the plurality of machine learning models, a particularmachine learning model based on the selection of the target successfunction; determining a set of input parameters for using the particularmachine learning model; selecting, from the set of attributes associatedwith each of the plurality of person data objects, a subset ofattributes for using the particular machine learning model to performthe target success function based on the set of input parameters;obtaining, from the plurality of person data objects, attribute valuescorresponding to the subset of attributes; identifying, from theattribute values, a subset of attribute values usable to identify theplurality of person data objects; generating input values correspondingto the set of input parameters for using the particular machine learningmodel based on the attribute values and the subset of attribute values;generating, for each person data object in the plurality of person dataobjects, a corresponding prediction outcome by using the particularmachine learning model based on the input values; and providing, on theuser interface, the corresponding prediction outcomes for the pluralityof person data objects, wherein the corresponding prediction outcomesare indicative of probabilities of occurrence of the one or morespecified computer-based actions to be selected by a plurality ofcorresponding users associated with the plurality of person data objectsvia a plurality of hardware user interfaces of a plurality of usercomputing devices.
 16. The method of claim 15, wherein the one or morespecified computer-based actions to be selected by the correspondingusers via the plurality of hardware user interfaces of the plurality ofuser computing devices comprise the corresponding users selecting, viaat least one of a computer mouse or a touchscreen, one or moreparticular graphical elements displayed on a plurality of web pages. 17.The method of claim 15, wherein the input values are generated from theplurality of person data objects without requiring further inputs from auser of the user device.
 18. The method of claim 15, wherein the subsetof attributes includes a first attribute that is a dependent variableused by the particular machine learning model and a second attributethat is an independent variable used by the particular machine learningmodel.
 19. The method of claim 15, further comprising presenting theplurality of target success functions on the user interface forselection by a user of the user device.
 20. The method of claim 15,wherein the set of attributes of a person data object includes a uniqueidentifier attribute for identifying a corresponding person, and a priortransaction attribute that specifies information regarding one or moreprevious electronic transactions conducted by the corresponding person.